/****************************************************************
 ** 								 *			
 **  Nombre: js_registroCuentasAdministrador.js			 *	
 **  Versión: 1.0.1                                              *
 **  Autor: Alberto de Jesús Castro Becerra		         *
 **  Creado: 27-ene-2013                                         *
 **  Modificado: 02-feb-2013                                     *
 **  Diagrama: GAPI v2.2.0                                       *		
 **  Caso de uso: MWM1                                           *
 **								 *			
 *****************************************************************/


$(document).ready(function (){
    
    $("#registrarID").click(function(){
       
        var respuesta = "<div class=\"contenedorFormularioRegistroAlumno\">"
        + "<h1>Registro de administrador</h1>"
        + "<h3>Datos personales</h3>"
        + "<table>"
        + "    <tr>"
        + "        <td>Nombre(s):</td>"
        + "        <td><input type=\"text\" id=\"nombre\"/></td>"
        + "    </tr>"
        + "    <tr>"
        + "        <td>Apellido paterno:</td>"
        + "        <td><input type=\"text\" id=\"apellidoPaterno\"</td>"
        + "    </tr>"
        + "    <tr>"
        + "        <td>Apellido materno:</td>"
        + "        <td><input type=\"text\" id=\"apellidoMaterno\"</td>"
        + "    </tr>"
        + "</table>"
        + "<h3>Datos de la cuenta</h3>"
        + "<table>"
        + "    <tr>"
        + "        <td>Nombre de usuario:</td>"
        + "        <td><input type=\"text\" id=\"nombreDeUsuario\"/></td>"
        + "    </tr>"
        + "    <tr>"
        + "        <td>Contrase&ntilde;a:</td>"
        + "        <td><input type=\"password\" id=\"contrasenia\"/></td>"
        + "    </tr>"
        + "    <tr>"
        + "        <td>Repita la contrase&ntilde;a:</td>"
        + "        <td><input type=\"password\" id=\"contraseniaConfirmacion\"/></td>"
        + "    </tr>"
        + "</table>"         
        + "<input type=\"button\" id=\"registrarAdministrador\" value=\"Registrar administrador\"/>"
        + "<input type=\"button\" id=\"regresarPortalWebmaster\" value=\"Regresar\"/>"
        + "<div id=\"objetivoDeLaRespuesta\"></div>"
        + "</div>";
       
        $('#respuesta_general').html(respuesta);
       
        $("#regresarPortalWebmaster").click(function()
        {
            $('#respuesta_general').html('');
        });
        
        $('#registrarAdministrador').click(function(){               
            var nombre = $('#nombre').val();
            var apellidoPaterno = $('#apellidoPaterno').val();
            var apellidoMaterno = $('#apellidoMaterno').val();
            var nombreDeUsuario = $('#nombreDeUsuario').val();
            var contrasenia = $('#contrasenia').val();
            var contraseniaConfirmacion = $('#contraseniaConfirmacion').val();                                 

            if(validarDatosPersonales(nombre, apellidoPaterno, apellidoMaterno) && validarDatosDeLaCuenta(nombreDeUsuario, contrasenia, contraseniaConfirmacion)){            
                enviarPeticionRegistroDeAdministrador(nombre, apellidoPaterno, apellidoMaterno, nombreDeUsuario, contrasenia);                   
            }
            
            function validarDatosPersonales(nombres, apellidoPaterno, apellidoMaterno){
                if(nombres.length <1 || nombres.length >45){
                    alert("El nombre debe de tener entre 1 y 45 caracteres");
                    return false;
                }
                if(apellidoPaterno.length <1 || apellidoPaterno.length >45){
                    alert("El apellido paterno debe de tener entre 1 y 45 caracteres");
                    return false;
                }
                if(apellidoMaterno.length <1 || apellidoMaterno.length >45){
                    alert("El apellido materno debe de tener entre 1 y 45 caracteres");
                    return false;
                }
    
                return true;
            }

            function validarDatosDeLaCuenta(nombreDeUsuario, contrasenia, contraseniaConfirmacion){
                if(nombreDeUsuario.length <8 || nombreDeUsuario.length >16){
                    alert("El nombre de usuario debe tener entre 8 y 16 caracteres");
                    return false;
                }
                if(contrasenia.length <8 || contrasenia.length >45){
                    alert("La contraseña debe de tener entre 8 y 45 caracteres");
                    return false;
                }
                if(contraseniaConfirmacion.length <8 || contraseniaConfirmacion.length >45){
                    alert("La contraseña debe de tener entre 8 y 45 caracteres");
                    return false;
                } 
                if(contrasenia != contraseniaConfirmacion){
                    alert("Las contraseñas no son iguales");
                    return false;
                }        
                return true;
            }
            
            function enviarPeticionRegistroDeAdministrador(nombre, apellidoPaterno, apellidoMaterno, nombreDeUsuario, contrasenia){                    
                var id = 'registrarAdministrador';
    
                var parametros = {
                    'id' : id,
                    'nombre' : nombre,
                    'apellidoPaterno' : apellidoPaterno,
                    'apellidoMaterno' : apellidoMaterno,
                    'nombreDeUsuario' : nombreDeUsuario,
                    'contrasenia' : contrasenia
                };
    
                $.ajax({
                    data:  parametros,
                    url:   'GestorCuentaAdministrador',
                    type:  'post',
        
                    beforeSend: function (){
                        $('#objetivoDeLaRespuesta').html('Procesando, espere por favor...');            
                    },
        
                    error : function(XMLHttpRequest, textStatus, errorThrown){       
                        $('#objetivoDeLaRespuesta').html('Ocurri&oacute; un error al procesar la petici&oacute;n');
                    },
        
                    success:  function (respuesta){       
                        alert(respuesta);
                        $("#objetivoDeLaRespuesta").html('');            
                        $('#respuesta_general').html('');
                    }
                });
            }
        });                                 
    });
});

